package br.com.appclassificados.testes;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.com.appclassificados.dao.SubCategoriaDao;
import br.com.appclassificados.model.SubCategoria;


@ManagedBean(name="subCategoriaDaoTeste")
@SessionScoped
public class SubCategoriaDaoTeste {

	private SubCategoria sub;
	
	public SubCategoriaDaoTeste(){
		super();
	}
	
	public String salvar () throws Exception{
		SubCategoriaDao dao = new SubCategoriaDao();
		
		//Cadastrar
		this.sub = new SubCategoria(1, 3, "TV");
		if(dao.insert(this.sub)){
			dao = new SubCategoriaDao();
			dao.insert(this.sub);
			dao = new SubCategoriaDao();
			dao.insert(this.sub);
			System.out.println("Cadastrado com exito.");
		}
		else
			System.out.println("Erro ao cadastrar.");
		
		//Editar
		this.sub = new SubCategoria(1, 3, "Video Game");
		dao = new SubCategoriaDao();
		if(dao.update(this.sub))
			System.out.println("Editado com exito.");
		else
			System.out.println("Erro ao Editar.");
		
		//Deletar
		dao = new SubCategoriaDao();
		this.sub = new SubCategoria(3, 3, "TV");
		if(dao.delete(this.sub))
			System.out.println("Deletado com exito.");
		else
			System.out.println("Erro ao deletar.");
		
		//List
		dao = new SubCategoriaDao();
		List<SubCategoria> list = dao.readList();
		System.out.println("\nLista");
		for(int i=0; i<list.size(); i++){
			System.out.println("Id: "+list.get(i).getSubCategoriaId()+"\tCategoria: "+list.get(i).getCategoriaId()+"\tNome: "+list.get(i).getNome());
		}
		
		System.out.println("\nSeachs");
		//Seach id 
		dao = new SubCategoriaDao();
		this.sub = dao.search(1);
		System.out.println("Id: "+this.sub.getSubCategoriaId()+"\tCategoria: "+this.sub.getCategoriaId()+"\tNome: "+this.sub.getNome());
		
		//Seach nome
		dao = new SubCategoriaDao();
		this.sub = dao.search("vide");
		System.out.println("Id: "+this.sub.getSubCategoriaId()+"\tCategoria: "+this.sub.getCategoriaId()+"\tNome: "+this.sub.getNome());
		
		return "";
	}
	
}
